/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 */
package com.icinfo.cloud.provider.punish.execute.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * 描述: 裁执分离主表 execute_main_info 对应的实体类.<br>
 * WARNING：不是表中字段的属性必须加@Transient注解
 * @author framework generator
 * @date 2022年08月24日
 */
@Data
@Table(name = "execute.execute_main_info")
public class ExecuteMainInfo implements Serializable {
    /**
     * 主键
     */
    @Id
    @Column(name = "id")
    private String id;

    /**
     * 执行id(法院带过来的唯一id)
     */
    @Column(name = "execute_id")
    private String executeId;

    /**
     * 裁定书编号
     */
    @Column(name = "rule_number")
    private String ruleNumber;

    /**
     * 裁定机构代码
     */
    @Column(name = "rule_org_code")
    private String ruleOrgCode;

    /**
     * 裁定机构统一信用代码
     */
    @Column(name = "rule_uniscid")
    private String ruleUniscid;

    /**
     * 申请执行人名称
     */
    @Column(name = "execution_applicant")
    private String executionApplicant;

    /**
     * 申请执行人统一信用代码
     */
    @Column(name = "execution_uniscid")
    private String executionUniscid;

    /**
     * 执行单位
     */
    @Column(name = "execute_org_name")
    private String executeOrgName;

    /**
     * 执行单位编码
     */
    @Column(name = "execute_org_code")
    private String executeOrgCode;

    /**
     * 行政处罚决定书编号
     */
    @Column(name = "decision_number")
    private String decisionNumber;

    /**
     * 行政处罚决定书编号是否存在本系统：0-否，1-是
     */
    @Column(name = "is_decision")
    private String isDecision;

    /**
     * 裁定结论
     */
    @Column(name = "ruling_conclusion")
    private String rulingConclusion;

    /**
     * 裁定法院
     */
    @Column(name = "ruling_court")
    private String rulingCourt;

    /**
     * 执行机关名称
     */
    @Column(name = "execute_office_name")
    private String executeOfficeName;

    /**
     * 执行机关统一信用代码
     */
    @Column(name = "execute_office_code")
    private String executeOfficeCode;

    /**
     * 受理时间
     */
    @Column(name = "acceptance_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime acceptanceTime;

    /**
     * 执行截止日期
     */
    @Column(name = "execution_deadline_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime executionDeadlineTime;

    /**
     * 执行阶段：1-受案，2-通知，3-公告，4-强制执行，5-物品处置，6-结案
     */
    @Column(name = "execute_state")
    private String executeState;

    /**
     * 结案时间
     */
    @Column(name = "close_case_time")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date closeCaseTime;
    /**
     * 结案情况说明
     */
    @Column(name = "close_case_desc")
    private String closeCaseDesc;

    /**
     * 是否高风险
     */
    @Column(name = "is_high_risk")
    private String isHighRisk;

    /**
     * 高风险说明
     */
    @Column(name = "high_risk")
    private String highRisk;

    /**
     * 办案人员1id
     */
    @Column(name = "handle_person_main_id")
    private String handlePersonMainId;

    /**
     * 办案人员1名称
     */
    @Column(name = "handle_person_main_name")
    private String handlePersonMainName;

    /**
     * 办案人员2id
     */
    @Column(name = "handle_person_assist_id")
    private String handlePersonAssistId;

    /**
     * 办案人员2名称
     */
    @Column(name = "handle_person_assist_name")
    private String handlePersonAssistName;

    /**
     * 创建时间
     */
    @Column(name = "create_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 最新更新时间
     */
    @Column(name = "update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private LocalDateTime updateTime;

    /**
     * 条线编码
     */
    @Column(name = "line_code")
    private String lineCode;

    /**
     * 条线名称
     */
    @Column(name = "line_name")
    private String lineName;

    /**
     * 办案机构编码
     */
    @Column(name = "handle_org_code")
    private String handleOrgCode;

    /**
     * 办案机构名称
     */
    @Column(name = "handle_org_name")
    private String handleOrgName;

    /**
     * 裁定日期
     */
    @Column(name = "ruling_date")
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private LocalDate rulingDate;

    /**
     * 案件名称
     */
    @Column(name = "execute_name")
    private String executeName;

    /**
     * 法院代码
     */
    @Column(name = "court_code")
    private String courtCode;

    /**
     * 案件状态：1-待指派，2-执行中，3-已完结
     */
    @Column(name = "case_status")
    private String caseStatus;

    /**
     * 拆除面积
     */
    @Column(name = "demolition_area")
    private BigDecimal demolitionArea;

    private static final long serialVersionUID = 1L;
}